4f32664873a778c4ae9eabca481958cb58a2ffb5,src/main/java/org/highj/data/collection/set/SetMonadPlus.java,SetMonadPlus,ap,#_#_#,17
Before Change
public <A, B> Set<B> ap(_<Set.µ, Function<A, B>> fn, _<Set.µ, A> nestedA) {
Set<B> result = Set.empty();
for (Function<A, B> f : Set.narrow(fn)) {
for (A a : Set.narrow(nestedA)) {
result = result.plus(f.apply(a));
}
}
return result;
}
@Override
After Change
@Override
default <A, B> Set<B> ap(_<Set.µ, Function<A, B>> fn, _<Set.µ, A> nestedA) {
return Set.narrow(nestedA).ap(Set.narrow(fn));
}
@Override